                                                                     
                                                                     
                                                                     
                                             
//******************************************************************************
//*   Equipo: Lonas F.C.                                                       *
//*   Autor: José Alfonso Mora Lores ( mora | 932 ).                           *
//*   Para: Concurso http://javahispano.org/                                   *
//*   Lenguaje: java                                                           *
//*                                                                            *
//******************************************************************************

//Este equipo está bajo una licencia Reconocimiento-NoComercial-CompartirIgual 2.5 
// Spain de Creative Commons. Para ver una copia de esta licencia, 
// visite http://creativecommons.org/licenses/by-nc-sa/2.5/es/ 
// o envie una carta a Creative Commons, 559 Nathan Abbott Way, Stanford,
// California 94305, USA.



package futbol.tacticas.concursantes2007.Lonas;
import futbol.tacticas.*;
import futbol.tacticas.concursantes.Tactica;

import java.awt.Color;
import java.awt.Point;
import java.util.Vector;


public class LonasFC implements Tactica{
    
    private boolean atacando, defendiendo, normal;
    
    private int nValores[][]={
         //PORTERO
        {-152,0,4},     //1
        
        //DEFENSA
        {-110,50,5},   //2
        {-120,20,5},    //3
        {-120,-20,4},   //4
        {-110,-50,5},  //5
        
        //CENTRALES
        {0,-70,5},     //6
        {-15,-15,4},     //7
        {-15,15,5},    //8
        {0,70,4},    //9
        
        {121,-30,4},     //10
        {121,30,4}     //11
    };
    
   
    
    public String getNombre(){
        return "Lonas F.C.";
    }
    
    public Color getColor1(){
        return Color.MAGENTA;
    }
    
    public Color getColor2(){
        return Color.black;
    }
    
    public Color getColorNumero(){
        return Color.white;
    }
    
    public int getFuerza(int n){
        return nValores[n][2];
    }
    public int getXInicial(int n){
        return nValores[n][0];
    }
    
    public int getYInicial(int n){
        return nValores[n][1];
    }
    
    public Vector<Comando> getComandos(SituacionJugadores sj){
        Vector<Comando> com=new Vector();
        Point bola=sj.getBola();
        Point jugadores[]=sj.getMisJugadores();
        Point contrarios[]=sj.getContrario();
        
     
        
        //Posiciones Normal
        for (int n=0;n<11;n++)
            com.add(new ComandoIrA(n, nValores[n][0], nValores[n][1]));
  
        
        //Movimiento portero
        int y=(int)(bola.getY()/2);
        if (y<-20) y=-20;
        if (y>20) y=20;
        com.add(new ComandoIrA(0,nValores[0][0], y));
        
        
        //Mejorar defensa
        if (!sj.estoyMasCercaDeBola() || bola.getX()<0){
            for (int n=1;n<4;n++){
                int nJC=sj.getContrarioMasCerca(getXInicial(n), getYInicial(n));
                com.add(new ComandoIrA(n, contrarios[nJC].getX()+10, contrarios[nJC].getY()));
            }
        }
        
        //Movimiento mas cercano a la bola
        int nJug=sj.getMasCercanoDeBola();
        com.add(new ComandoIrA(nJug,bola.getX(), bola.getY()));
        
       
        //Golpear bola
        for (int n=0;n<11;n++){
            //Portaero
            if(n==0){
                com.add(new ComandoPase(n, 6));
            }else if (n==3 || n==4){
                com.add(new ComandoPase(n, 5));
            }else if (n==1 || n==2){
                com.add(new ComandoPase(n, 8));
            }else if (n>=5 || n<=8){
                com.add(new ComandoGolpearBola(n, 140, 0));
            }else if (n==9){
                com.add(new ComandoTiroAPuerta(n,27));
            }else if (n==10){                
                com.add(new ComandoTiroAPuerta(n,-27));
            }
        }
          
        return com;
    }
    
}
